#ifndef CAMERA_H
#define CAMERA_H

#include <d3d9.h>
#include <d3dx9.h>

#pragma comment (lib,"d3d9.lib")
#pragma comment (lib,"d3dx9.lib")

class Camera
{
	private: 
		D3DXVECTOR3 cameraPosition;
		D3DXVECTOR3 lookAt;
		D3DXVECTOR3 realLookAt;
		D3DXVECTOR3 up;
		D3DXVECTOR3 realUp;
		D3DXVECTOR3 rotation;
	public:
		Camera();
		Camera(D3DXVECTOR3 _cameraPosition);
		void setCameraPosition(D3DXVECTOR3 _cameraPosition);
		void setLookPosition(D3DXVECTOR3 _lookAt);
		void setUp(D3DXVECTOR3 _up);
		void render(LPDIRECT3DDEVICE9 _d3ddev);
		void rotate(D3DXVECTOR3 _angle);
		void moveForward(float _speed);
		D3DXVECTOR3 getCameraPosition();
		D3DXVECTOR3 getLookPosition();
		D3DXVECTOR3 getRotation();
		D3DXVECTOR3 getUp();
};
#endif